; Music of Dizzy - Ultimate Cartoon Adventure (1988) (Codemasters) (Jon Paul Eldridge)
; Ripped by Megachur the 08/02/2008

	write "DIZZ-UCA.BIN"

music_date_rip	equ &0828
music_adr	equ &95e9
first_theme	equ 1
last_theme	equ 2	; 1 -> 2

	read "music_header_v1_0.asm"

.l95e9
	db #fc,#00,#fb,#00,#fd,#0f,#fe,#01
	db #21,#08,#21,#08,#2d,#04,#2d,#04
	db #21,#08,#21,#08,#2d,#08,#21,#08
.l9606 equ $ + 5
	db #2d,#08,#95,#09,#ff,#fe,#00,#fd
	db #00,#00,#40,#00,#40,#fc,#00,#fb
	db #00,#fd,#0f,#fe,#05,#15,#08,#15
	db #08,#18,#08,#15,#10,#15,#08,#18
	db #08,#15,#08,#13,#08,#13,#08,#17
	db #08,#13,#10,#13,#08,#17,#08,#13
	db #08,#11,#08,#11,#08,#15,#08,#11
	db #10,#11,#08,#15,#08,#11,#08,#13
	db #08,#13,#08,#17,#08,#13,#10,#13
	db #08,#17,#08,#13,#08,#84,#1c,#ff
.l9651
	db #fe,#00,#fd,#00,#00,#40,#85,#01
	db #fc,#00,#fb,#00,#fd,#0a,#fe,#04
	db #21,#28,#21,#08,#24,#08,#26,#08
	db #21,#28,#21,#08,#24,#08,#26,#08
	db #21,#28,#21,#08,#24,#08,#26,#08
	db #28,#10,#26,#10,#24,#10,#26,#10
	db #21,#28,#21,#08,#24,#08,#26,#08
	db #21,#28,#21,#08,#24,#08,#26,#08
	db #21,#28,#21,#08,#24,#08,#26,#08
	db #28,#10,#26,#10,#24,#10,#26,#10
	db #21,#20,#24,#08,#21,#08,#24,#08
	db #28,#48,#21,#20,#24,#08,#21,#08
	db #24,#08,#28,#18,#26,#10,#24,#10
	db #26,#10,#21,#20,#24,#08,#21,#08
	db #24,#08,#28,#48,#21,#20,#24,#08
	db #21,#08,#24,#08,#28,#10,#28,#08
.l96d8 equ $ + 7
	db #26,#10,#24,#10,#26,#10,#ff,#fb
	db #00,#fc,#00,#fd,#0d,#fe,#03,#09
	db #06,#09,#06,#10,#06,#10,#06,#0c
	db #06,#0c,#06,#0e,#06,#0e,#06,#8d
	db #08,#00,#06,#00,#06,#13,#06,#13
	db #06,#10,#06,#10,#06,#11,#06,#11
	db #06,#85,#08,#09,#06,#09,#06,#10
	db #06,#10,#06,#0c,#06,#0c,#06,#0e
	db #06,#0e,#06,#8f,#08,#00,#06,#00
	db #06,#13,#06,#13,#06,#10,#06,#10
	db #06,#11,#06,#11,#06,#83,#08,#09
	db #06,#09,#06,#10,#06,#10,#06,#0c
	db #06,#0c,#06,#0e,#06,#0e,#06,#97
	db #08,#fc,#00,#fb,#00,#fd,#0f,#fe
	db #02,#05,#06,#05,#06,#11,#06,#05
	db #06,#05,#06,#11,#06,#05,#06,#11
	db #06,#07,#06,#07,#06,#13,#06,#07
	db #06,#07,#06,#13,#06,#07,#06,#13
	db #06,#09,#06,#09,#06,#15,#06,#09
	db #06,#09,#06,#15,#06,#09,#06,#15
	db #06,#09,#06,#09,#06,#15,#06,#09
	db #06,#09,#06,#15,#06,#09,#06,#15
.l9785 equ $ + 4
	db #06,#87,#20,#ff,#fb,#00,#fc,#00
	db #fd,#00,#fe,#00,#00,#60,#fd,#0f
	db #fe,#02,#09,#0c,#15,#0c,#09,#06
	db #15,#06,#0c,#06,#18,#06,#0e,#0c
	db #1a,#0c,#10,#0c,#1c,#0c,#85,#0a
	db #0c,#0c,#18,#0c,#0c,#06,#18,#06
	db #10,#06,#1c,#06,#11,#0c,#1d,#0c
	db #13,#0c,#1f,#0c,#82,#0a,#09,#0c
	db #15,#0c,#09,#06,#15,#06,#0c,#06
	db #18,#06,#0e,#0c,#1a,#0c,#10,#0c
	db #1c,#0c,#87,#0a,#0c,#0c,#18,#0c
	db #0c,#06,#18,#06,#10,#06,#1c,#06
	db #11,#0c,#1d,#0c,#13,#0c,#1f,#0c
	db #81,#0a,#09,#0c,#15,#0c,#09,#06
	db #15,#06,#0c,#06,#18,#06,#0e,#0c
	db #1a,#0c,#10,#0c,#1c,#0c,#8b,#0a
	db #fc,#01,#fb,#00,#fd,#0f,#fe,#02
	db #05,#06,#05,#06,#05,#06,#05,#06
	db #05,#06,#05,#06,#05,#06,#05,#06
	db #07,#06,#07,#06,#07,#06,#07,#06
	db #07,#06,#07,#06,#07,#06,#07,#06
	db #09,#06,#09,#06,#09,#06,#09,#06
	db #09,#06,#09,#06,#09,#06,#09,#06
	db #09,#06,#09,#06,#09,#06,#09,#06
	db #09,#06,#09,#06,#09,#06,#09,#06
.l984c equ $ + 3
	db #87,#20,#ff,#fb,#00,#fc,#00,#fd
	db #00,#fe,#00,#00,#60,#00,#60,#00
	db #6c,#fd,#0f,#fe,#03,#28,#0c,#28
	db #0c,#29,#06,#28,#1e,#26,#0c,#24
	db #0c,#28,#0c,#81,#07,#1c,#0c,#21
	db #06,#21,#06,#1c,#06,#21,#0c,#21
	db #0c,#21,#0c,#21,#06,#21,#18,#81
	db #09,#1f,#0c,#24,#06,#24,#06,#1f
	db #06,#24,#0c,#24,#0c,#24,#0c,#24
	db #06,#24,#18,#1f,#0c,#24,#06,#24
	db #06,#1f,#06,#24,#0c,#24,#0c,#24
	db #0c,#24,#06,#24,#6c,#21,#06,#21
	db #06,#21,#06,#24,#0c,#24,#06,#23
	db #0c,#21,#06,#21,#06,#21,#06,#24
	db #0c,#24,#06,#23,#06,#21,#06,#81
	db #0d,#23,#06,#23,#06,#23,#06,#26
	db #0c,#26,#06,#24,#0c,#23,#06,#23
	db #06,#23,#06,#26,#0c,#26,#06,#24
	db #06,#23,#06,#21,#06,#21,#06,#21
	db #06,#24,#0c,#24,#06,#23,#0c,#21
	db #06,#21,#06,#21,#06,#24,#0c,#24
	db #06,#23,#06,#21,#06,#21,#06,#21
	db #0c,#21,#06,#28,#0c,#28,#06,#24
	db #0c,#24,#06,#24,#0c,#26,#0c,#24
	db #0c,#21,#06,#21,#06,#21,#06,#21
	db #06,#28,#0c,#28,#06,#24,#0c,#24
	db #06,#24,#06,#24,#06,#26,#0c,#24
	db #0c,#81,#16,#24,#06,#24,#0c,#24
	db #06,#2b,#0c,#2b,#06,#28,#0c,#28
	db #06,#28,#0c,#29,#0c,#28,#0c,#24
	db #06,#24,#06,#24,#06,#24,#06,#2b
	db #0c,#2b,#06,#28,#0c,#28,#06,#28
	db #06,#28,#06,#29,#0c,#28,#0c,#21
	db #18,#21,#0c,#24,#06,#28,#1e,#26
	db #0c,#28,#0c,#21,#0c,#21,#0c,#21
	db #0c,#24,#06,#28,#36,#81,#0b,#fd
	db #00,#fe,#00,#00,#6c,#fd,#0f,#fe
	db #03,#28,#0c,#28,#0c,#29,#06,#28
	db #1e,#26,#0c,#24,#0c,#28,#0c,#83
	db #07,#1c,#0c,#21,#06,#21,#06,#1c
	db #06,#21,#0c,#21,#0c,#21,#0c,#21
	db #06,#21,#18,#1c,#0c,#21,#06,#21
	db #06,#1c,#06,#21,#0c,#21,#0c,#21
	db #0c,#21,#06,#21,#6c,#fe,#00,#fd
	db #00,#00,#60,#00,#60,#fc,#00,#fb
	db #00,#fd,#0f,#fe,#03,#11,#06,#1d
	db #06,#83,#02,#13,#06,#1f,#06,#83
	db #02,#15,#06,#21,#06,#15,#06,#21
	db #06,#83,#04,#1d,#06,#1d,#06,#1d
	db #06,#24,#06,#81,#04,#1f,#06,#1f
	db #06,#1f,#06,#26,#06,#81,#04,#21
	db #06,#21,#06,#21,#06,#28,#06,#83
	db #04,#11,#06,#11,#06,#1d,#06,#11
	db #06,#11,#06,#11,#06,#1d,#0c,#13
	db #06,#13,#06,#1f,#06,#13,#06,#13
	db #06,#13,#06,#1f,#0c,#15,#06,#15
	db #06,#21,#06,#15,#06,#15,#06,#15
	db #06,#21,#0c,#15,#06,#15,#06,#21
	db #06,#15,#06,#15,#06,#15,#06,#21
	db #0c,#fe,#00,#fd,#00,#00,#60,#00
	db #60,#fe,#03,#fd,#0f,#21,#06,#21
	db #06,#21,#06,#24,#0c,#24,#06,#23
	db #0c,#21,#06,#21,#0c,#24,#0c,#24
	db #06,#23,#06,#23,#06,#81,#0c,#21
	db #06,#21,#06,#21,#06,#24,#06,#24
	db #06,#24,#06,#23,#0c,#23,#06,#23
	db #06,#23,#06,#26,#0c,#24,#06,#21
	db #0c,#81,#0d,#fe,#00,#fd,#00,#00
.l9a6d equ $ + 4
	db #60,#00,#60,#ff,#00
.l9a6e
	db #00
;
.real_init_music
;
	cp #00
	jr z,l9ae0
	cp #03
	jp z,l9d46
	dec a
	ld b,#00
	ld c,a
	sla c
	sla c
	sla c
	ld ix,l9cd3
	ld b,#00
	add ix,bc
	ld l,(ix+#00)
	ld h,(ix+#01)
	ld (l9c49),hl
	ld (l9c4b),hl
	ld l,(ix+#02)
	ld h,(ix+#03)
	ld (l9c39),hl
	ld (l9c3b),hl
	ld l,(ix+#04)
	ld h,(ix+#05)
	ld (l9c29),hl
	ld (l9c2b),hl
	xor a
	ld (l9c28),a
	ld (l9c2e),a
	ld (l9a6d),a
	ld (l9c38),a
	ld (l9c3e),a
	ld (l9c48),a
	ld (l9c4e),a
	inc a
	ld (l9a6e),a
	ld (l9c2d),a
	ld (l9c3d),a
	ld (l9c4d),a
	call #bca7
	ld hl,l9c4f
	ld bc,#8100
	ld de,l9af0
	jp #bcd7
;
.stop_music
.l9ae0
;
	xor a
	ld (l9a6e),a
	ld hl,l9c4f
	call #bcdd
	call #bca7
	jp l9d0e
;
.play_music
.l9af0
;
	push af
	push iy
	xor a
	ld (l9cd2),a
	ld a,(l9a6d)
	cp #00
	jr z,l9b05
	dec a
	ld (l9a6d),a
	ld (l9cd2),a
.l9b05
	ld a,(l9c2d)
	dec a
	ld (l9c2d),a
	ld iy,l9c1f
	call z,l9b37
	xor a
	ld (l9cd2),a
	ld a,(l9c3d)
	dec a
	ld (l9c3d),a
	ld iy,l9c2f
	call z,l9b37
	ld a,(l9c4d)
	dec a
	ld (l9c4d),a
	ld iy,l9c3f
	call z,l9b37
	pop iy
	pop af
	ret
.l9b37
	push bc
	push de
	push hl
	push ix
.l9b3c
	ld l,(iy+#0c)
	ld h,(iy+#0d)
	push hl
	pop ix
.l9b45
	ld a,(ix+#00)
	cp #ff
	jp z,l9bbd
	cp #fe
	jp z,l9bd5
	cp #fd
	jp z,l9be5
	cp #fc
	jp z,l9bdd
	cp #fb
	jp z,l9bcc
	cp #fa
	jp z,l9bed
	cp #7f
	jp nc,l9bf5
	ld hl,l9c58
	ld a,(ix+#00)
	sla a
	ld b,#00
	ld c,a
	add hl,bc
	ld a,(hl)
	ld (iy+#03),a
	inc hl
	ld a,(hl)
	ld (iy+#04),a
	ld a,(ix+#01)
	ld (iy+#0e),a
	ld l,(iy+#0c)
	ld h,(iy+#0d)
	inc hl
	inc hl
	ld (iy+#0c),l
	ld (iy+#0d),h
	push iy
	pop hl
	ld a,(l9cd2)
	cp #00
	call z,#bcaa
	pop ix
	pop hl
	pop de
	pop bc
	ret
	xor a
	ld (iy+#09),a
.l9ba9
	ld l,(iy+#0c)
	ld h,(iy+#0d)
	inc hl
	inc hl
	inc ix
	inc ix
	ld (iy+#0c),l
	ld (iy+#0d),h
	jr l9b45
.l9bbd
	ld a,(iy+#0a)
	ld (iy+#0c),a
	ld a,(iy+#0b)
	ld (iy+#0d),a
	jp l9b3c
.l9bcc
	ld a,(ix+#01)
	ld (iy+#05),a
	jp l9ba9
.l9bd5
	ld a,(ix+#01)
	ld (iy+#01),a
	jr l9ba9
.l9bdd
	ld a,(ix+#01)
	ld (iy+#02),a
	jr l9ba9
.l9be5
	ld a,(ix+#01)
	ld (iy+#06),a
	jr l9ba9
.l9bed
	pop ix
	pop hl
	pop de
	pop bc
	jp l9ae0
.l9bf5
	ld b,a
	ld a,(iy+#09)
	cp #00
	jr nz,l9c00
	ld a,b
	sub #7f
.l9c00
	dec a
	ld (iy+#09),a
	cp #00
	jr z,l9ba9
	ld a,(ix+#01)
	sla a
	ld b,#00
	ld c,a
	and a
	push ix
	pop hl
	sbc hl,bc
	ld (iy+#0c),l
	ld (iy+#0d),h
	jp l9b3c
.l9c1f
	db #81,#04,#00,#8e,#00,#00,#0a,#00
.l9c2e equ $ + 7
.l9c2d equ $ + 6
.l9c2b equ $ + 4
.l9c29 equ $ + 2
.l9c28 equ $ + 1
	db #00,#00,#51,#96,#73,#96,#28,#00
.l9c2f
	db #82,#05,#00,#66,#01,#00,#0f,#00
.l9c3e equ $ + 7
.l9c3d equ $ + 6
.l9c3b equ $ + 4
.l9c39 equ $ + 2
.l9c38 equ $ + 1
	db #00,#04,#06,#96,#34,#96,#08,#00
.l9c3f
	db #84,#01,#00,#47,#00,#00,#0f,#00
.l9c4e equ $ + 7
.l9c4d equ $ + 6
.l9c4b equ $ + 4
.l9c49 equ $ + 2
.l9c48 equ $ + 1
	db #00,#0f,#e9,#95,#03,#96,#01,#00
.l9c4f
	db #00,#00,#f1,#00,#01,#81,#f0,#9a
	db #00
.l9c58
	dw #03bc,#0386,#0353,#0324
	dw #02f6,#02cc,#02a4,#027e
	dw #025a,#0238,#0218,#01fa
	dw #01de,#01c3,#01aa,#0192
	dw #017b,#0166,#0152,#013f
	dw #012d,#011c,#010c,#00fd
	dw #00ef,#00e1,#00d5,#00c9
	dw #00be,#00b3,#00a9,#009f
	dw #0096,#008e,#0086,#007f
	dw #0077,#0071,#006a,#0064
	dw #005f,#0059,#0054,#0050
	dw #004b,#0047,#0043,#003f
	dw #003c,#0038,#0035,#0032
	dw #002f,#002d,#002a,#0028
	dw #0026,#0024,#0022,#0020
.l9cd2 equ $ + 2
	db #00,#00,#00
.l9cd3
	dw l95e9,l9606,l9651
	db #00,#00
	dw l96d8,l9785,l984c
.l9ce7 equ $ + 6
.l9ce3 equ $ + 2
	db #00,#00,#01,#0f,#ff,#01,#01,#0f
.l9cef equ $ + 6
.l9ceb equ $ + 2
	db #ff,#02,#01,#0f,#ff,#04,#02,#05
.l9cf6 equ $ + 5
	db #01,#01,#0f,#ff,#08,#02,#05,#ff
.l9cfd equ $ + 4
	db #03,#0a,#ff,#03,#01,#0f,#ff,#0c
.l9d05 equ $ + 4
.l9d01
	db #01,#0f,#ff,#04,#81,#06,#00,#77
	db #00,#00,#0f,#ff,#ff
.l9d0e
	ld hl,l9ce3
	ld a,#01
	call #bcbc
	ld hl,l9ce7
	ld a,#02
	call #bcbc
	ld hl,l9ceb
	ld a,#03
	call #bcbc
	ld hl,l9cef
	ld a,#04
	call #bcbc
	ld hl,l9cf6
	ld a,#05
	call #bcbc
	ld hl,l9cfd
	ld a,#06
	call #bcbc
	ld hl,l9d01
	ld a,#07
	jp #bcbc
.l9d46
	ld a,#32
	ld (l9a6d),a
	ld hl,l9d05
	jp #bcaa

;	ld a,1
;	jp init_music; a = 1 -> 2
;
.init_music	; added by Megachur
;
	push af
	call l9d0e
	pop af
	jp real_init_music 

;
.game_name
	db "Dizzy - Ultimate Cartoon Adventure",0
.game_year
	db "1988",0
.game_publisher
	db "Codemasters",0
.music_author
	db "Jon Paul Eldridge",0
.music_comment
	db "",0

	read "music_end_v1_0.asm"
